package com.lancoo.ccas52.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lancoo.ccas52.entity.Teacher;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lancoo.ccas52.pojo.common.PageInfo;
import com.lancoo.ccas52.pojo.dto.TeachingClassDto;
import com.lancoo.ccas52.pojo.response.basicPlatform.BaseTeacher;
import com.lancoo.ccas52.pojo.vo.TeacherGroupCollege;

import java.util.List;

/**
 * <p>
 * 教师 服务类
 * </p>
 *
 * @author quin.song
 * @since 2023-01-31
 */
public interface TeacherService extends IService<Teacher> {


    /**
     * 根据教学班id获取其教师信息
     * @param teachingClassIds
     * @return
     */
    List<Teacher> getTeacherByTeachingClassIds(List<Long> teachingClassIds);

    /**
     * 获取全部教师 根据学院分组
     * @param schoolId
     * @param term
     * @return
     */
    List<TeacherGroupCollege> getAllTeacherGroupCollege(String schoolId,String term);

    /**
     * 根据基础平台id老师详情
     * @param schoolId
     * @param term
     * @param baseTeacherId
     * @return
     */
    Teacher getTeacherByBaseId(String schoolId,String term, String baseTeacherId);


    void syncBaseTeachers(Integer taskId, List<BaseTeacher> baseTeachers, String schoolId,String term);

    /**
     * 获取教师列表
     * @param taskId
     * @param page
     * @param collegeId
     * @param keyWord
     * @return
     */
    PageInfo<Teacher> getTeacherList(Integer taskId, String schoolId,String term, IPage<Teacher> page , String collegeId, String keyWord);

    /**
     * 根据教师id获取教学班
     * @param teacherIds
     * @return
     */
    List<TeachingClassDto> getTeachingClassByTeacherId(List<Long> teacherIds);

}
